Welcome to django!

7.05 图书列表页数据获取

1、创建数据库

create database bms;

use bms;


2、创建图书表

create table book (

id int(11) primary key auto_increment,

title varchar(255) not null,

price float(255,2) not null,

publish_date date not null,

publisher varchar(100) not null,

authors varchar(100) not null

);


3、在python里面创建app

python .\manage.py startapp book


4、在book里面创建urls

5、在bms里面做urls的连接


from django.urls import path

from . import views

urlpatterns=[

path("list",views.book_list)

]


6、设置视图

views:

from django.shortcuts import render

import pymysql

def book_list(request):

#从数据库mysql把图书获取到

conn=pymysql.connect(

host="127.0.0.1",

port=3306,

user="root",

password="502",

db="bms",

charset="utf8",

cursorclass=pymysql.cursors.DictCursor

)

with conn:

with conn.cursor() as cursor:

sql='SELECT * FROM book'

cursor.execute(sql)

books=cursor.fetchall()

print(books)

return render(

request,

template_name="list.html",

context={"books":books}

)

print返回:

[02/Sep/2024 22:20:54] "GET / HTTP/1.1" 200 1665

[{'id': 1, 'title': '西游记', 'price': 9.9, 'publish_date': datetime.date(2023, 10, 19), 'publisher': '李白', 'authors': '人民出版社'}, {'id': 2, 'title': '三

国演义', 'price': 19.0, 'publish_date': datetime.date(2023, 10, 19), 'publisher': '罗贯中', 'authors': '高州出版社'}, {'id': 3, 'title': '红楼梦', 'price': 19

.0, 'publish_date': datetime.date(2023, 10, 19), 'publisher': '曹雪芹', 'authors': '深圳出版社'}]